package com.tth.learn.addproperties.java;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * @Author tth
 * @Date 2022/12/7 10:04
 */
public class DateTest {
    public static void main(String[] args) {
        System.out.println("******************************** SimpleDateFormat的使用 **********************************************");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 日期 --> 字符串
        System.out.println(sdf.format(new Date()));

        // 字符串 --> 时间
        try {
            Date date = sdf.parse("2022-12-7 10:09:00");
            System.out.println(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println();


        System.out.println("****************************** Calendar的使用***********************************************************");
        // 实例化1: 创建子类对象
        GregorianCalendar gregorianCalendar = new GregorianCalendar();
        // 实例化2（常用）：调用其静态方法getInstance()
        Calendar calendar = Calendar.getInstance();

        // 常用方法
        // get(int field)：获取指定参数对应的Calender对象的时间
        int month = calendar.get(Calendar.MONTH); //获取月份
        System.out.println(month);
        int days = calendar.get(Calendar.DAY_OF_YEAR); //获取当前是一年中的第几天
        System.out.println(days);

        // set(int field, int value)：对Calender对象的时间进行set操作
        calendar.set(Calendar.DAY_OF_MONTH, 10);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        // add(int field, int amount)：对Calender对象的时间进行“+”操作
        calendar.add(Calendar.DAY_OF_YEAR, 3);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        // getTime()：日历类 --> java.util.Date
        Date date = calendar.getTime();
        System.out.println(date);

        // setTime()：java.util.Date --> Calender
        Date date1 = new Date();
        calendar.setTime(date1);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
    }
}
